package puzzle.projecteuler.p100;

import java.math.BigInteger;

public class Problem048 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		BigInteger m = BigInteger.valueOf(10000000000l);
		BigInteger s = BigInteger.ZERO;
		for (int i = 1; i <= 1000; i ++) {
			BigInteger tmp = BigInteger.valueOf(i);
			tmp = tmp.modPow(tmp, m);
			s = s.add(tmp).mod(m);
		}
		System.out.println(s);
	}
}
